package com.op.teachingliteapp.fragment.add_class.indexablelistview;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.SectionIndexer;

import com.op.teachingliteapp.R;
import com.op.teachingliteapp.fragment.add_class.util.StringMatcher;
import com.op.teachingliteapp.fragment.add_class.widget.IndexableListView;



public class IndexableListViewFragment extends Fragment {
	private ArrayList<String> mItems, PinYin;
	private IndexableListView mListView;
	private String tranist;
	//调用该方法时Fragment会被连接到它的父Activity上
	public void onAttach(Activity activity){
		super.onAttach(activity);
		//获取对父Activity的引用
	}
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		return inflater.inflate(R.layout.add_list, container, false);
	}
	public void onViewCreated(View view, Bundle savedInstanceState) {
		super.onViewCreated(view, savedInstanceState);
		ContentAdapter adapter = new ContentAdapter(getActivity(),
				android.R.layout.simple_list_item_1, mItems);
        
		mListView = (IndexableListView) view.findViewById(R.id.listview);
		mListView.setAdapter(adapter);
		mListView.setFastScrollEnabled(true);// 设置快速滑动	
		};

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		int i = 0;
		PinYin = new ArrayList<String>();// 自己加的
		mItems = new ArrayList<String>();
		setData();
		// 汉字转换成拼音
		while (i < mItems.size()) {
			PinYin.add(CharacterParser.getSelling(mItems.get(i)));
			// System.out.println(i + " " + PinYin.get(i).charAt(0));
			i++;
		}

		// 按首字母排序

		for (i = 0; i < PinYin.size(); i++) {
			System.out.println("i:" + i);
			for (int j = i; j + 1 < PinYin.size(); j++) {
				if (PinYin.get(i).charAt(0) > PinYin.get(j + 1).charAt(0)) {
					System.out.println(PinYin.get(j).charAt(0) + " " + j
							+ "new change" + " " + PinYin.get(j + 1).charAt(0));
					tranist = PinYin.get(i);

					PinYin.set(i, PinYin.get(j + 1));

					PinYin.set(j + 1, tranist);

					tranist = mItems.get(i);

					mItems.set(i, mItems.get(j + 1));

					mItems.set(j + 1, tranist);

					System.out.println(PinYin.get(j).charAt(0) + " " + j
							+ "old change" + " " + PinYin.get(j + 1).charAt(0));
					System.out.println("chicun" + PinYin.size() + "j:" + j);

				}
			}

		}
        
//		ContentAdapter adapter = new ContentAdapter(getActivity(),
//				android.R.layout.simple_list_item_1, mItems);
//        
//		mListView = (IndexableListView) getActivity().findViewById(R.id.listview);
//		mListView.setAdapter(adapter);
//		mListView.setFastScrollEnabled(true);// 设置快速滑动
	}

	private class ContentAdapter extends ArrayAdapter<String> implements
			SectionIndexer {

		private String mSections = "#ABCDEFGHIJKLMNOPQRSTUVWXYZ";

		public ContentAdapter(Context context, int textViewResourceId,
				List<String> objects) {
			super(context, textViewResourceId, objects);
		}

		@Override
		public int getPositionForSection(int section) {
			// If there is no item for current section, previous section will be
			// selected
			// 如果当前部分没有item，则之前的部分将被选择
			for (int i = section; i >= 0; i--) {
				for (int j = 0; j < getCount(); j++) {
					if (i == 0) {
						// For numeric section
						for (int k = 0; k <= 9; k++) {
							// 字符串第一个字符与1~9之间的数字进行匹配
							if (StringMatcher.match(
									String.valueOf(getItem(j).charAt(0)),
									String.valueOf(k)))
								return j;
						}
					} else {
						if (StringMatcher.match(
								String.valueOf(getItem(j).charAt(0)),
								String.valueOf(mSections.charAt(i))))
							return j;
					}
				}
			}
			return 0;
		}

		@Override
		public int getSectionForPosition(int position) {
			return 0;
		}

		@Override
		public Object[] getSections() {
			String[] sections = new String[mSections.length()];
			for (int i = 0; i < mSections.length(); i++)
				sections[i] = String.valueOf(mSections.charAt(i));
			return sections;
		}
	}

	public void setData() {
		mItems.add("大学英语");
		mItems.add("化学");
		mItems.add("生物");
		mItems.add("C语言");
		mItems.add("JAVA");
		mItems.add("C++");
		mItems.add("高频");
		mItems.add("电磁场与电磁波");
		mItems.add("通信原理");
		mItems.add("概率论");
		mItems.add("日语");
		mItems.add("现代交换原理");
		mItems.add("数字信号处理");
		mItems.add("马克思");
		mItems.add("毛概");
		mItems.add("计算机基础");
		mItems.add("PPT");
		mItems.add("生物");
		mItems.add("化学");
		mItems.add("体育");
		mItems.add("德语");
		mItems.add("高频电子线路");
		mItems.add("电路");
		mItems.add("高等数学");
		mItems.add("高等数学下");
		mItems.add("羽毛球");
		mItems.add("毽球");
		mItems.add("乒乓球");
		mItems.add("网球");
		mItems.add("游泳");
		mItems.add("篮球");
		mItems.add("足球");
		mItems.add("经济学基础");
		mItems.add("工商管理");
		mItems.add("建筑学");
		mItems.add("大学英语");
		mItems.add("化学");
		mItems.add("生物");
		mItems.add("C语言");
		mItems.add("JAVA");
		mItems.add("C++");
		mItems.add("高频");
		mItems.add("电磁场与电磁波");
		mItems.add("通信原理");
		mItems.add("概率论");
		mItems.add("日语");
		mItems.add("现代交换原理");
		mItems.add("数字信号处理");
		mItems.add("马克思");
		mItems.add("毛概");
		mItems.add("计算机基础");
		mItems.add("PPT");
		mItems.add("生物");
		mItems.add("化学");
		mItems.add("体育");
		mItems.add("德语");
		mItems.add("高频电子线路");
		mItems.add("电路");
		mItems.add("高等数学");
		mItems.add("高等数学下");
		mItems.add("羽毛球");
		mItems.add("毽球");
		mItems.add("乒乓球");
		mItems.add("网球");
		mItems.add("游泳");
		mItems.add("篮球");
		mItems.add("足球");
		mItems.add("经济学基础");
		mItems.add("工商管理");
		mItems.add("建筑学");
		mItems.add("大学英语");
		mItems.add("化学");
		mItems.add("生物");
		mItems.add("C语言");
		mItems.add("JAVA");
		mItems.add("C++");
		mItems.add("高频");
		mItems.add("电磁场与电磁波");
		mItems.add("通信原理");
		mItems.add("概率论");
		mItems.add("日语");
		mItems.add("现代交换原理");
		mItems.add("数字信号处理");
		mItems.add("马克思");
		mItems.add("毛概");
		mItems.add("计算机基础");
		mItems.add("PPT");
		mItems.add("生物");
		mItems.add("化学");
		mItems.add("体育");
		mItems.add("德语");
		mItems.add("高频电子线路");
		mItems.add("电路");
		mItems.add("高等数学");
		mItems.add("高等数学下");
		mItems.add("羽毛球");
		mItems.add("毽球");
		mItems.add("乒乓球");
		mItems.add("网球");
		mItems.add("游泳");
		mItems.add("篮球");
		mItems.add("足球");
		mItems.add("经济学基础");
		mItems.add("工商管理");
		mItems.add("建筑学");
		
	}

}